package top.zhdev.community.service;

import top.zhdev.community.entity.DiscussPost;

import java.util.List;

public interface DiscussPostService {
    /**
     * 根据用户id查询帖子数量，当用户id为0时，表示查询全部帖子数量
     * @param userId
     * @return
     */
    int getDiscussPostRows(int userId);

    /**
     * 获取指定userid的帖子，当userId = 0时，获取全部帖子
     * @param userId
     * @param offset
     * @param limit
     * @param orderMode orderMode 是首页的最热：1，最新：0
     * @return
     */
    List<DiscussPost> getDiscussPosts(int userId,int offset,int limit,int orderMode);

    /**
     * 根据discussPostId获取帖子详情信息
     * @param discussPostId
     * @return
     */
    DiscussPost getDiscussPostById(int discussPostId);

    /**
     * 更新帖子评论数量
     * @param entityId
     * @param count
     * @return
     */
    int updateCommentCount(int entityId, int count);

    /**
     * 发布帖子
     * @param post
     * @return
     */
    int addDiscussPost(DiscussPost post);

    /**
     * 更新帖子状态
     * @param discussPostId
     * @param i
     * @return
     */
    int setPostStatus(int discussPostId, int i);

    /**
     * 更改帖子状态
     * @param discussPostId
     * @param i
     * @return
     */
    int setPostType(int discussPostId, int i);

    /**
     * 更新帖子分数
     * @param postId
     * @param score
     * @return
     */
    int updateScore(int postId, double score);
}
